package leetcode_题库;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

/**
 * Created by IntelliJ IDEA.
 *
 * @ProjectName leetcode
 * @Author Ding
 * @CreateTime 2022/9/2 16:08 星期五
 */
public class _26_删除排序数组中的重复项 {
    public static void main(String[] args) {
        int[] nums = new int[]{0,0,1,1,1,2,2,3,3,4};
        System.err.println(removeDuplicates(nums));
    }

    /**
     * 单指针
     * > 2022/09/02 16:21:37
     * 解答成功:
     * 	执行耗时:0 ms,击败了100.00% 的Java用户
     * 	内存消耗:42.8 MB,击败了92.44% 的Java用户
     * @param nums
     * @return
     */
    public static int removeDuplicates(int[] nums) {
        int p = 0;
        for (int num : nums) {
            //如果指针位置比num小
            if (nums[p] < num){
                //++位置替换
                nums[++p] = num;
            }
        }
        //p存的是角标数量的话要+1
        return p+1;
    }
}
